/**
执行输入的文件名称，输出相应的信息
go run dup3.go D:\workspace\GoTest\README.md
2018/7/25
wgg
*/
package main

import (
	"os"
	"io/ioutil"
	"fmt"
	"strings"
)

//设置重复值
const repeat  = 1

func main() {
	//设置一个存放文件内容及文件重复出现次数的map
	counts := make(map[string]int)
	//获取输入的文件名称
	for _,filename := range os.Args[1:]{
		data,err := ioutil.ReadFile(filename)//读取文件
		if err != nil {
			fmt.Fprintf(os.Stdin,"dup3:%v\n",err)
			continue
		}
		//根据换行读取文件内容，并写入map中。
		//对于重复的信息map的值加1
		for _,line := range strings.Split(string(data),"\n") {
			counts[line]++
		}
	}

	//遍历该文件内容重复大于repeat的信息
	for line,n := range counts{
		if n > repeat{
			fmt.Printf("%d\t%s\n",n,line)
		}
	}

}
